package com.open.capacity.reimburse.service;

import com.open.capacity.reimburse.entity.SysFileinfo;

import com.open.capacity.commons.PageResult;
import com.open.capacity.reimburse.entity.SysFileinfoAuthorize;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;
import java.util.List;

/**
 * 文件信息
 *
 * @author
 * @email
 * @date 2021-02-07 10:00:46
 */
public interface SysFileinfoService {
    /**
     * 添加
     *
     * @param sysFileinfo
     */
    int save(SysFileinfo sysFileinfo);

    /**
     * 修改
     *
     * @param sysFileinfo
     */
    int update(SysFileinfo sysFileinfo);

    /**
     * 删除
     *
     * @param id
     */
    int delete(String id);

    /**
     * 还原
     *
     * @param id
     */
    int restore(String id);

    /**
     * 删除
     *
     * @param id
     */
    int thoroughDelete(String id);

    /**
     * 清空回收站
     *
     */
    int emptyRecycled();

    /**
     * 查询记录
     *
     * @param id
     * @return
     */
    SysFileinfo findById(String id);


    /**
     * 列表
     *
     * @param params
     * @return
     */
    List<SysFileinfo> findAll(Map<String, Object> params);

    /**
     * 列表
     *
     * @param params
     * @return
     */
    List<SysFileinfo> findTop5(Map<String, Object> params);


    /**
     * 上传
     */
    int upload(String folderId, MultipartFile file);


    /**
     * 共享
     *
     * @param id
     */
    int share(String id, List<SysFileinfoAuthorize> fileinfoAuthorizes, Integer isShare);


    /**
     * 移动
     *
     * @param id
     */
    int move(String id, String moveFolderId);
}

